package com.hm.service.api.wx;

import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.hm.service.framework.PostController;
import com.hm.service.impl.wx.WeChatPublicServiceImpl;
import com.hm.service.service.wx.WeChatPublicService;
import jakarta.servlet.http.HttpServletRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;


@RestController
@RequestMapping(value = "/WX", produces = {"application/json;charset=UTF-8"})
public class SZCG_003_000_001 extends PostController {
    private static final Logger logger = LoggerFactory.getLogger(SZCG_003_000_001.class);

    private final WeChatPublicService weChatPublicService;


    public SZCG_003_000_001(WeChatPublicService weChatPublicService) {
        this.weChatPublicService = weChatPublicService;
    }

    //获取微信js验证配置
    @PostMapping(value = "/003_000_001")
    public String doPost(HttpServletRequest request) {
        return handleRequest(request);
    }

    @Override
    protected String postRequest(HashMap<String, String> param) {
        //解析json
        String requestBody = param.get("requestBody");
        JSONObject jsonObject = (JSONObject) JSON.parse(requestBody);
        String hrefUrl = jsonObject.getString("hrefUrl");
        String accessToken = weChatPublicService.getStableAccessToken();
        String jsapiTicket = weChatPublicService.getJsapiTicket(accessToken);
        return generateSucceed(weChatPublicService.generateSignature(hrefUrl, jsapiTicket));
    }
}
